package com.hanter.downloader;

import android.util.Log;

/**
 * 类名：DebugLog <br/>
 * 描述：调试日志
 * 创建时间：2022/02/09 21:41
 *
 * @author hanter
 * @version 1.0
 */
public class DebugLog {

    public static final boolean DEBUG = true;

    public static void exception(Throwable e) {
        if (DEBUG) {
            e.printStackTrace();
        }
    }

    public static void i(String tag, String msg) {
        if (DEBUG) {
            Log.i(tag, msg);
        }
    }

    public static void v(String msg) {
        if (DEBUG) {
            Log.v(getFunctionName(), msg);
        }
    }

    public static void v(String tag, String msg) {
        if (DEBUG) {
            Log.v(tag, msg);
        }
    }

    public static void d(String msg) {
        if (DEBUG) {
            Log.d(getFunctionName(), msg);
        }
    }

    public static void d(String tag, String msg) {
        if (DEBUG) {
            Log.d(tag, msg);
        }
    }

    public static void e(String msg) {
        if (DEBUG) {
            Log.e(getFunctionName(), msg);
        }
    }

    public static void e(String tag, String msg) {
        if (DEBUG) {
            Log.e(tag, msg);
        }
    }

    public static void w(String msg) {
        if (DEBUG) {
            Log.w(getFunctionName(), msg);
        }
    }

    public static void w(String tag, String msg) {
        if (DEBUG) {
            Log.w(tag, msg);
        }
    }

    private static String getFunctionName() {
        StackTraceElement caller = new Throwable().fillInStackTrace().getStackTrace()[2];
        return caller.getFileName() + "." + caller.getMethodName() + "(" + caller.getLineNumber() + ")";
    }


}
